//package com.rongji.cms.tools.temp.websocket;
//
///**
// * @author yang
// * @date 2023/2/2 11:43
// * @description
// */
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.messaging.simp.config.ChannelRegistration;
//import org.springframework.messaging.simp.config.MessageBrokerRegistry;
//import org.springframework.web.socket.config.annotation.*;
//
//import javax.annotation.Resource;
//
///**
// * @Author : JCccc
// * @CreateTime : 2020/8/26
// * @Description :
// * fixme rabbit的配置没完全搞懂（relayhost相关的参数），后续再研究
// *
// **/
//
//@Configuration
//@EnableWebSocketMessageBroker
//public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
//    @Resource
//    GetHeaderParamInterceptor getHeaderParamInterceptor;
//    @Override
//    public void registerStompEndpoints(StompEndpointRegistry registry) {
//        registry.addEndpoint("/ws")
////                .setAllowedOrigins("*")
//                .withSockJS();
//        //暴露多个节点,就一样直接addEndpoint 就可以
////        registry.addEndpoint("/alone") .setAllowedOrigins("*")
////               .withSockJS();
//    }
//
//    @Override
//    public void configureMessageBroker(MessageBrokerRegistry registry) {
////
//        //如果不使用rabbitmq作为消息代理,那么只需要暴露简单节点即可
//        // 默认的Simple Broker
//           registry.enableSimpleBroker("/topic","/user");
////        //这是给sendToUser使用,前端订阅需要加上/user
////        registry.setUserDestinationPrefix("/user");
////        //这是给客户端推送消息到服务器使用 ，推送的接口加上/app
////        registry.setApplicationDestinationPrefixes("/app");
//
//
//        // 使用RabbitMQ做为消息代理，替换默认的Simple Broker
//        //定义了服务端接收地址的前缀，也即客户端给服务端发消息的地址前缀,@SendTo(XXX) 也可以重定向
//        registry.setUserDestinationPrefix("/user"); //这是给sendToUser使用,前端订阅需要加上/user
//        registry.setApplicationDestinationPrefixes("/app"); //这是给客户端推送消息到服务器使用 ，推送的接口加上/app
////        // "STOMP broker relay"处理所有消息将消息发送到外部的消息代理
//        registry.enableStompBrokerRelay("/exchange","/topic","/queue","/amq/queue")
////                // FIXME: 2023/2/6 这里搞不明白怎么填relayhost相关的参数，后续再继续
//        //对应自己rabbitmq里的虚拟host
////                .setVirtualHost("JCChost")
//                .setRelayHost("192.168.212.224")
//                .setClientLogin("ruoyi")
//                .setClientPasscode("ruoyi123")
//                .setSystemLogin("ruoyi")
//                .setSystemPasscode("ruoyi123")
//                .setSystemHeartbeatSendInterval(5000)
//                .setSystemHeartbeatReceiveInterval(4000);
//
//    }
//    /**
//     * 采用自定义拦截器，获取connect时候传递的参数
//     *
//     * @param registration
//     */
//    @Override
//    public void configureClientInboundChannel(ChannelRegistration registration) {
//        registration.interceptors(getHeaderParamInterceptor);
//    }
//}